<

落書きテキスト入力クライアント

まとめ

3つのメソッドを追加します。showToolbarinsertTextPlaceholder、 とremoveTextPlaceholderTextInputClientiOS 14を許可するインターフェース テキスト プレースホルダーを挿入および削除し、ツールバーを表示する落書き機能。

コンテクスト

iOS 14 以降、iPad は Apple Pencil を使用する際の Scribble 機能をサポートします。 この機能により、ユーザーは鉛筆を使用してテキスト フィールドを操作し、 テキストを追加、削除、選択、および変更します。

変更内容の説明

ネイティブ テキスト ウィジェットでは、ユーザーが鉛筆を使用するとテキスト ツールバーが表示されます。 iOS 14 以降を実行している iPad でテキストを選択するには。 この動作を再現するために、プラットフォームはtextInputチャンネルメッセージ 呼ばれたTextInputClient.showToolbar。 これにより、ツールバーを表示する必要があることが Dart コードに通知されます。

ユーザーが鉛筆を押し続けると、テキストに視覚的なギャップが表示され、 ユーザーが書き込むための追加スペース。 この動作を再現するために、プラットフォームはtextInputチャンネルメッセージ 呼ばれたTextInputClient.insertTextPlaceholderTextInputClient.removeTextPlaceholder。 複数行のテキスト入力には、垂直方向のスペースを提供するプレースホルダーが必要です。 一方、単一行入力では水平方向のスペースを確保する必要があります。

移行ガイド

以前に実装していた場合TextEditingClient、オーバーライドする必要がありますshowToolbarinsertTextPlaceholder、 とremoveTextPlaceholderどちらかに これらの Scribble 機能をサポートするか、空の実装を提供します。

移行するには、実装しますshowToolbarinsertTextPlaceholder、 とremoveTextPlaceholder

移行前のコード:

class MyCustomTextInputClient implements TextInputClient {
  ...
}

移行後のコード:

class MyCustomTextInputClient implements TextInputClient {
  ...
  @override
  void showToolbar() {
    ...
  }
  
  @override
  void insertTextPlaceholder(Size size) {
    ...
  }
  
  @override
  void removeTextPlaceholder() {
    ...
  }
}

タイムライン

リリースされたバージョン: 2.9.0-1.0.pre
安定版リリース: 2.10

参考文献

API ドキュメント:

  • TextInputClient

関連する問題:

  • 問題 61278

関連する PR:

  • 24224: 落書き手書きのサポート (エンジン)
  • 75472: 落書き手書きのサポート
  • 97437: 再着陸サポート落書き手書き